package clases;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;

import javax.swing.JOptionPane;

public class Horarios_class extends Conexion{

	private String codigo;
	private String nombre;
	private String descripcion;
	private String horainicio;
	private String horafin;
	private Boolean activo;
	private utilidades_class utilidades;
	private String query;
	private ArrayList<String> parametros;
	
	public Horarios_class()
	{
		this.utilidades= new utilidades_class();
	}
	
	public Horarios_class(String codigo)
	{
		this.codigo=codigo;
		this.utilidades = new utilidades_class();
	}
	
	public Horarios_class(String codigo, String nombre, String descripcion, String horainicio, String horafin, Boolean activo)
	{
		this.codigo=codigo;
		this.nombre=nombre;
		this.descripcion=descripcion;
		this.horainicio=horainicio;
		this.horafin=horafin;
		this.utilidades=new utilidades_class();
		this.activo=activo;
	}
	
	public void nuevo()
	{
		try
		{
			query = "SELECT codigohorario FROM horarios ORDER BY codigohorario DESC";
			ResultSet resultado = mostrar(query);
			if(resultado.next())
			{
				this.codigo = "HO"+String.valueOf(Integer.parseInt(resultado.getString("codigohorario").substring(2))+1);
			}
			else
			{
				this.codigo="HO10000000";
			}
		}catch(Exception ex)
		{
			JOptionPane.showMessageDialog(null, ex.toString());
		}
		query = "INSERT INTO horarios VALUES(?,?,?,?,?,?)";
		parametros = new ArrayList<String>();
		parametros.add(codigo);
		parametros.add(nombre);
		parametros.add(descripcion);
		parametros.add((horainicio));
		parametros.add((horafin));
		parametros.add(activo.toString());
		sentenciaConnection(query, parametros);
	}
	
	public void modificar()
	{
		query = "UPDATE horarios SET nombre=?, descripcion=?, horainicio=?, horafin=?, activo=? WHERE codigohorario=?";
		parametros=new ArrayList<String>();
		parametros.add(nombre);
		parametros.add(descripcion);
		parametros.add((horainicio));
		parametros.add((horafin));
		parametros.add(activo.toString());
		parametros.add(codigo);
		sentenciaConnection(query, parametros);
	}
	
	public void eliminar()
	{
		query = "DELETE FROM horarios WHERE codigohorario=?";
		parametros = new ArrayList<String>();
		parametros.add(codigo);
		sentenciaConnection(query, parametros);
	}
	
	public ResultSet mostrar()
	{
		if(this.codigo!=null && this.codigo!=""){
			query = "SELECT codigohorario,nombre, descripcion,activo, CONVERT(varchar, horainicio, 108) AS horainicio" +
					", CONVERT(varchar, horafin, 108) AS horafin FROM horarios WHERE codigohorario='"+this.codigo+"'";
		}
		else
		{
			query = "SELECT codigohorario,nombre, descripcion,activo, CONVERT(varchar, horainicio, 108) AS horainicio" +
					", CONVERT(varchar, horafin, 108) AS horafin FROM horarios";
		}
		
		return consultaConnection(query);
	}
	
	public ResultSet mostrar(String queryref)
	{
		return consultaConnection(queryref);
	}
	
	public ResultSet mostrar(String queryref, ArrayList<String> parametrosref)
	{
		return consultaConnection(queryref, parametrosref);
	}
	
}
